package com.studyroom.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@TableName("seats")
public class Seat {
    @TableId(type = IdType.AUTO)
    private Long id;

    private LocalDateTime createdAt;

    private LocalDateTime updatedAt;
    private Long roomId;
    
    @TableField("seat_number")
    private String seatNumber;  // 改为String类型，因为要作为显示名称
    
    private Integer status;  // 1: 正常, 0: 禁用
    
    private Integer isOccupied;  // 1: 已占用, 0: 未占用
    
    // 计算属性，不对应数据库字段
    @TableField(exist = false)
    private Integer available;  // 1: 可用, 0: 不可用

    // 计算是否可用
    public Integer getAvailable() {
        // 如果座位状态正常且未被占用，则可用
        return (status == 1 && isOccupied == 0) ? 1 : 0;
    }

    // 兼容性方法
    public String getName() {
        return this.seatNumber;
    }

    public void setName(String name) {
        this.seatNumber = name;
    }
} 